Esta función está planeada para facilitar la creación de mapas interactivos compatible con plataformas móviles y de escritorio, además de estar diseñada pensando en la simplicidad y el rendimiento. Esta utilidad produce mapas que tienen controles para hacer zoom, desplazarse y alternar capas y puntos entre mostrar y ocultar. Igualmente permite incrustar mapas en webs, documentos R Markdown y aplicaciones Shiny. Todo lo anterior basado enteramente en la librería Leaflet, la cual es la biblioteca JavaScript de código abierto más popular para mapas interactivos.

Plot.Mapa(
  depto,
  mpio,
  estadistico = c("Conteo", "Promedio", "Mediana", "Varianza", "SD", "CV", "Min",
    "Max"),
  variable = NA,
  tipo = c("Deptos", "SiNoMpios", "Mpios", "DeptoMpio"),
  titulo,
  naTo0 = TRUE,
  colNA = "#EEEEEE",
  centroideMapa = "CUNDINAMARCA",
  zoomMapa = 6,
  baldosas,
  cortes,
  colores,
  showSedes = TRUE,
  colSedes,
  opacidad = 0.7,
  colBorde,
  compacto = TRUE,
  textSize = 10,
  limpio = FALSE
)

Arguments

depto

Vector numérico que contiene los códigos de los departamentos, de acuerdo con la codificación de la División Político-Administrativa de Colombia (DIVIPOLA) dispuesta por el DANE.

mpio

Vector numérico que contiene los códigos de los municipios, de acuerdo con la codificación de la División Político-Administrativa de Colombia (DIVIPOLA) dispuesta por el DANE.

estadistico

Cadena de caracteres que indica el estadístico a graficar en el mapa. Los valores permitidos son "Conteo" (valor predeterminado), "Promedio", "Mediana", "Varianza", "SD", "CV", "Min" y "Max".

variable

Vector numérico cuya función es servir como variable auxiliar con la cual se calculará el estadístico previamente seleccionado. Para el caso en que la estadística a calcular sea el conteo no es necesario (no se usará) especificar dicho vector.

tipo

Cadena de caracteres que indica el tipo de mapa a graficar. Los valores permitidos son "Deptos", "SiNoMpios", "Mpios" y "DeptoMpio" (valor predeterminado). Se emparejará parcialmente.

titulo

Cadena de caracteres indicando la segregación que presenta el mapa y el periodo al que hace referencia éste, separados por un espacio, por ejemplo, "Admitidos 2021-I".

naTo0

Si es TRUE (valor predeterminado) los valores introducidos como NA (not available) se cambiarán por el valor de 0. Ajústelo a FALSE para que no se realice tal cambio y mostrar en la caja de información la leyenda "Sin Información".

colNA

Cadena de caracteres indicando el color que tendrá la categoría NA (si esta se presenta). El valor por defecto es un gris muy claro.

centroideMapa

Cadena de caracteres indicando el departamento que servirá de centroide al momento de graficar el mapa. El valor por defecto es "CUNDINAMARCA". Se emparejará parcialmente.

zoomMapa

Valor numérico que indica el nivel de zoom del mapa (usado por la función setView()). El valor por defecto es 6, entre mayor sea su valor más zoom se aplicará al mapa.

baldosas

Vector de caracteres indicando los mapas base con los que se realizará el mapa, sean los popularizados por Google Maps o por terceros. Los valores aceptados son los admitidos por la función addProviderTiles(), así mismo los valores por defecto son c("CartoDB.Positron", "Esri.WorldStreetMap", "Esri.NatGeoWorldMap"), algunos otros valores pueden ser:

  • "Stamen.Toner"

  • "Stamen.TonerLite"

  • "Stamen.TonerLines"

  • "Stamen.Watercolor"

  • "Stamen.TonerHybrid"

  • "Esri.DeLorme"

  • "Esri.WorldTerrain"

  • "Esri.WorldShadedRelief"

  • "Esri.WorldPhysical"

  • "Esri.OceanBasemap"

  • "Esri.WorldGrayCanvas"

La lista completa la puede consultar aquí

cortes

Vector numérico indicando los cortes con los cuales se crearán los intervalos. No aplica para el tipo de mapa "SiNoMpios", pues este es binario. Para el tipo de mapa "DeptoMpio" se debe pasar una lista de la siguiente manera list(Deptos = c(), Mpios = c()), pues requiere dos cortes, uno para departamentos y otro para municipios.

colores

Vector de caracteres indicando los colores para cada uno de los intervalos con los que cuenta el mapa. Si no se introduce algún vector se usará una paleta predeterminada dependiendo del tipo de mapa.

showSedes

Si es TRUE (valor predeterminado) en el control de capas (usado en la función addLayersControl()) aparecerá el grupo destinado a mostrar o no la ubicación de las distintas sedes de la Universidad Nacional de Colombia. Ajústelo a FALSE para que en el control de capas no aparezca dicha opción.

colSedes

Vector de caracteres (de longitud 9) indicando los colores del icono de ubicación de las distintas sedes de la Universidad Nacional de Colombia. Los colores permitidos son los que acepta la función makeAwesomeIcon(), es decir, "red", "darkred", "lightred", "orange", "beige", "green", "darkgreen", "lightgreen", "blue", "darkblue", "lightblue", "purple", "darkpurple", "pink", "cadetblue", "white", "gray", "lightgray", "black".

opacidad

Un número entre \([0, 1]\) que indica la opacidad de las capas.

colBorde

Cadena de caracteres indicando el color del borde de los polígonos al momento de pasar el cursor sobre él.

compacto

Si es TRUE (valor predeterminado) el control de capas se representará como un icono que se expande cuando se coloca el cursor sobre él. Ajústelo a FALSE para que el control de capas siempre aparezca en su estado expandido.

textSize

Valor numérico que indica el tamaño del texto de las etiquetas de los municipios. El valor para los departamentos será \(+2px\).

limpio

Si es FALSE (valor predeterminado) se mostrará el MiniMapa, la barra de escala y los botones para ver en pantalla completa, retornar zoom y localización. Ajústelo a TRUE si desea omitir dichas herramientas adicionales al mapa.

Value

Retorna el mapa (objeto widget de HTML) creado mediante Leaflet, el cual pertenece a la clase "leaflet" y "htmlwidget".

Details

Los vectores depto y mpio introducidos hacen referencia a atributos atómicos, es decir, la pareja formada por (depto, mpio) debe corresponder a un individuo. En los argumentos no se acepta la entrada de objetos espaciales o polígonos.

Examples

if (require("dplyr")) {
  df <- ejGraduados %>%
    filter(YEAR == 2021) %>%
    select(
      Code_Dept    = COD_DEP_NAC,
      Code_Mun     = COD_CIU_NAC,
      Departamento = DEP_NAC,
      Municipio    = CIU_NAC,
      Longitud     = LON_CIU_NAC,
      Latitud      = LAT_CIU_NAC
    )
}

Plot.Mapa(
  depto    = df$Code_Dept,
  mpio     = df$Code_Mun,
  tipo     = "SiNoMpios",
  titulo   = "Graduados 2021-I",
  baldosas = c(
    "Esri.WorldPhysical", "Esri.DeLorme", "Esri.WorldShadedRelief", "Esri.WorldTerrain",
    "Stamen.Toner", "Stamen.TonerLite", "Stamen.TonerLines", "Esri.OceanBasemap"
  ),
  colores  = c("#10F235", "#00BCB5"),
  colSedes = rep("green", 9),
  opacidad = 0.6,
  colBorde = "#FF4D00",
  compacto = FALSE,
  textSize = 16,
  limpio   = TRUE
)
Plot.Mapa( depto = df$Code_Dept, mpio = df$Code_Mun, tipo = "DeptoMpio", titulo = "Graduados 2020-II", cortes = list( Deptos = c(0, 10, 20, 50, 500, Inf), Mpios = c(0, 1, 5, 10, 100, Inf) ), colores = list( Deptos = c("#6812F2", "#5769F6", "#F6ED0D", "#EE6115", "#EC2525"), Mpios = c("#E7F15D", "#ACBD37", "#E15E32", "#A82743", "#5C323E") ) )
if (require("dplyr") && require("magrittr")) { ejSaberPro2020 %>% select( Code_Dept = COD_DEP_NAC, Code_Mun = COD_CIU_NAC, Edad = EDAD_MOD, PBM = PBM_ORIG, ScoreGlobal = PUNTAJE_GLOBAL, ScoreCompCiud = PUNT_COMP_CIUD, ScoreComuEscr = PUNT_COMU_ESCR, ScoreIngles = PUNT_INGLES, ScoreLectCrit = PUNT_LECT_CRIT, ScoreRazCuant = PUNT_RAZO_CUANT ) %$% Plot.Mapa( depto = Code_Dept, mpio = Code_Mun, estadistico = "Mediana", variable = ScoreGlobal, tipo = "DeptoMpio", titulo = "P.Global 2020", naTo0 = FALSE, colNA = "#472985", centroideMapa = "ANTIOQUIA", zoomMapa = 8, cortes = list( Deptos = c(0, 155, 170, 180, 185, Inf), Mpios = c(0, 50, 178, 200, 250, Inf) ), colores = list( Deptos = c("#FF7D5A", "#FDBD7D", "#E5DF73", "#63D2A8", "#0055A1"), Mpios = c("#E7F15D", "#ACBD37", "#E15E32", "#A82743", "#5C323E") ), showSedes = FALSE ) } #> Loading required package: magrittr